home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Aminet 45
/
Aminet 45 (2001)(GTI - Schatztruhe)[!][Oct 2001].iso
/
Aminet
/
game
/
role
/
ldmud-3.2-bin.lha
/
mud
/
doc
/
efun
/
regreplace
< prev
next >
Wrap
Text File
|
2001-05-25
|
2KB
|
53 lines
SYNOPSIS
string regreplace( string txt, string pattern
, closure|string replacepattern, int flags)
DESCRIPTION
This function looks through txt looking for the regular
expression pattern. If it finds it, it replaces it by the
replacepattern.
The replacepattern can be a constant string, or a closure taking
the matched substring as argument and returning the replacement
pattern string.
The flag is a bitmask, where bit 0 specifies
that the search and replace should repeat as often as the
pattern matches, and bit 1 (mask 2) specifies if the regular
expressions are 'ex' compatible or not. The function returns
the modified string (or the original if it wasn't modified).
The function behaves like the s/pattern/replacepattern/flags
in editors as ed/vi or sed. The power of this function lies in
replacing variable strings (as opposed to regexplode, where
you can explode by regular expression, but not implode...)
EXAMPLE
string msgin;
/* Checks msgin for the string 'tells you: ' and all following
* characters and encloses those characters by <underline>
* and </underline>. global.
*/
msgin = regreplace(msgin, "tells you: (.*)",
"tells you: <underline>\\1</underline>", 1);
/* replaces all <underline> html tags by the vt100 escape
* sequence for underline.
*/
txt = regreplace(txt, "<underline>", "<ESC>[5m", 1);
/* Put the word HOUSE into lower case. */
txt = regreplace(txt, "HOUSE", #'lower_case, 1);
HISTORY
Introduced in 3.2.1@125
The use of a closure as replacepattern was introduced in
LDMud 3.2.9.
AUTHOR
Marcus@TAPPMud contributed the original efun and man page
SEE ALSO
regexp(E), regexplode(E), sscanf(E), trim(E)